package com.wicket.okrfinance.integration.dto;

import com.wicket.okrfinance.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc QueryFinanceAccountDetailComReqDto
 * @使用场景
 */
@Data
public class QueryFinanceAccountDetailComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 账户ID
   */
  @ApiModelProperty("账户ID")
  private String accountId;

  /**
   * 账户标识
   */
  @ApiModelProperty("账户标识")
  private String accountCode;

  /**
   * 上级账户归属主体标识
   */
  @ApiModelProperty("上级账户归属主体标识")
  private String parentAccountContentCode;

  /**
   * 账户状态 LOCK:锁定 NORMAL:正常
   */
  @ApiModelProperty("账户状态")
  private String accountStatus;

  /**
   * 是否结束状态 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否结束状态")
  private String isEndStatus;

  /**
   * 认证状态 UNCERTIFICATED:未认证 AUTHENTICATED:已认证 AUTHENTICATION_FAILURE:认证失败
   */
  @ApiModelProperty("认证状态")
  private String certificationStatus;

  /**
   * 账户类型 POOL_ACCOUNT:发行账户 ECOLOGICAL_ACCOUNT:生态账户
   */
  @ApiModelProperty("账户类型")
  private String accountTypeCode;

  /**
   * 是否预算账户 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否预算账户")
  private String isBudgetAccount;

  /**
   * 是否统计账户 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否统计账户")
  private String isStatisticalAccount;

  /**
   * 是否到账账户 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否到账账户")
  private String isIncomingAccount;

  /**
   * 生态账户类型编码 ORG_POOL_ACCOUNT:组织发行账户 TARGET_CONTENT_ACCOUNT:目标内容账户
   */
  @ApiModelProperty("生态账户类型编码")
  private String ecologicalAccountTypeCode;

  /**
   * 账户关联主体分类类型 CONTENT_TYPE:内容分类 ORGANIZATIONAL_STRUCTURE_TYPE:组织架构分类
   */
  @ApiModelProperty("账户关联主体分类类型")
  private String accountObjectClass;

  /**
   * 关联归属主体ID
   */
  @ApiModelProperty("关联归属主体ID")
  private String accountObjectId;

  /**
   * 关联归属主体类型编码 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标 DEPT:部门
   */
  @ApiModelProperty("关联归属主体类型编码")
  private String accountObjectTypeCode;

  /**
   * 关联归属主体标识
   */
  @ApiModelProperty("关联归属主体标识")
  private String accountContentCode;

  /**
   * 发行体系类型编码 CAPITAL_SYSTEM:资金体系 INTEGRAL_SYSTEM:积分体系
   */
  @ApiModelProperty("发行体系类型编码")
  private String distributionSystemTypeCode;

  /**
   * 是否组织正式财务标准 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否组织正式财务标准")
  private String isOrgOfficialAccountNom;

  /**
   * 主题内容ID
   */
  @ApiModelProperty("主题内容ID")
  private String themeContentId;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  /**
   * 是否存档 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否存档")
  private String isArchive;

  /**
   * 创建于空间ID
   */
  @ApiModelProperty("创建于空间ID")
  private String spaceId;

}
